package com.qiusuo0226.self.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qiusuo0226.self.pojo.entity.BillCategoryDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * 账单类型表 持久层
 * @author qiusuo
 * @date 2023/8/5 23:46
 */
@Repository
@Mapper
public interface BillCategoryMapper extends BaseMapper<BillCategoryDO> {

    /**
     * 新增账单类型
     * @param iid 主键唯一标识
     * @param date 初始创建时间、修改时间
     * @param creater 账单类型创建者唯一标识
     * @param billType 记账类型，0:支出;1:收入
     * @param billCategory 账单类别
     * @return 新增条数，返回1或0
     */
    int add(@Param("iid") long iid,
            @Param("creater") String creater,
            @Param("billType") String billType,
            @Param("billCategory") String billCategory,
            @Param("date") Date date);

    /**
     * 账单类型删除
     * @param creater 账单类型创建者唯一标识
     * @param iids 账单类型唯一标识集合
     * @return 删除数据条数
     */
    int remove(@Param("creater") String creater, @Param("iids") List<String> iids);

    /**
     * 账单类型编辑
     * @param creater 账单类型创建者唯一标识
     * @param billType 记账类型，0:支出;1:收入
     * @param categoryIid 账单类型唯一标识
     * @param billCategory 账单类别
     * @return
     */
    int edit(@Param("creater") String creater,
             @Param("billType") String billType,
             @Param("iid") String categoryIid,
             @Param("billCategory") String billCategory);
}
